import axios from 'axios';
import {
  setCookie,
  getCookie,
  delCookie
} from '@/utils/CookieUtils';

import {
  confirm,
  message
} from '@/utils/age'

import router from '../router'
import store from '../store/index.js';

axios.defaults.baseURL = 'http://localhost:9999/'

// 请求拦截
axios.interceptors.request.use(config => {
  store.commit("change", true)
  config.headers.Authorization = getCookie("token")
  return config
}, error => {
  return Promise.reject(error)
})

// 响应拦截
axios.interceptors.response.use(response => {
  //成功
  store.commit("change", false)
  if (response.data.code==999){
    //未登录拦截操作
    message("error","未登录，请去登录")
    delCookie("token")
    router.push("/login")
    return null;
  }
  if (response.data.code==888){
  //  未授权
    message("error","权限不足")
    delCookie("token")
    router.push("/home/welcome")
    return null
  }
  if (response.data.code==555){
    message("error","为查询到用户信息")
    router.push("/home/welcome")
    return null;
  }
  return response.data;
}, error => {
  // 请求失败
  store.commit("change", false)
  if (error && error.response) {
    switch (error.response.status) {
      case 400:
        break
      case 401:
        // 对 401 错误进行处理
        break
      default:
        // 如果以上都不是的处理
        return Promise.reject(error.data);
    }
  }
})
